HerokuにRoute 53をつかって独自ドメインを設定する
自分のドメインにアクセスしたらにHerokuのドメインにアクセスしたことにしたい
前提
自分のドメイン:www.example.com
Herokuのデフォルトのドメイン:your-heroku-app.herokuapp.com
手順
Route 53でドメインを取得する
Heroku側に利用するすべてのドメインを教える
heroku domains:add example.com
heroku domains:add www.example.com
もしこの手順を飛ばすと
Route 53側の設定によりherokuには飛ばされるけど、サイトが存在しない扱いになる
https://gyazo.com/4e63a47b20f2e3af5237080f3fc7a616
www.example.com → your-heroku-app.herokuapp.com
正しく設定されているか確認する
正しく設定されていれば、host www.example.comで"www.example.com is an alias for your-heroku-app.herokuapp.com."などと表示される
kadoyau.icon
root domainに設定したい:できるけどハックが必要
サブドメインは常にCNAMEで設定するけど、root domainのレコードはDNS providerによって異なる
Aレコードでのみroot domainを指定するDNS providerが多い
Aレコードはstatic IPを要求するので、DCのような環境では可用性に大きく影響する Herokuはdynamic IPを使っているので、CNAMEライクなレコード(ANAMEやALIAS)を使う必要がある
CNAME Flattening allows a CNAME record to be created for the root domain without violating DNS specifications. 〜終〜
S3を経由して、root domainにアクセスされたらwwwサブドメインにリダイレクトするwork aroundがある kadoyau.iconはそこまでするこだわりはないのでやっていない。必要になったら追加すればよい
最近のブラウザはexample.comと入力すると自動でwww.example.comにアクセスしたりするし、困ることも少なそう
そもそもドメイン直打ちしてる人ってごく少数なんじゃないかな?ブラウザが補完するのをつかうでしょう